/**
 * 
 */
package com.boot.springBoot.task;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;

/**
 * @author Administrator
 *
 */
@Configuration
public class ScheduledTask {
	
	private final Log logger = LogFactory.getLog(this.getClass());
	
	/**
	 * <1>.spring 支持使用注解开启一个任务 方便好多   启动类上加 @EnableScheduling 注解
	 * 方法上加@Scheduled(cron = "0 0/1 * * * ? ")和cron表达式  即可开启一个定时任务调度
	 * 开启一个任务   此方法每次都是同一个线程执行目标方法任务 想开启多线程使用线程池资源可以参考方式《2》
	 *
	 * <2>.启动类加上@EnableAsync   在调度方法上面加 @Async注解  每次都是新创建的线程执行任务
	 */
	@Scheduled(cron = "0 0/1 * * * ? ")
    @Async
    void pub() {
		logger.info("-------------------------开启一个任务-------------------------");
		int count = 0;
		for (int i = 1; i < 20; i++) {
			if((i%2) == 0){
				logger.info("哈哈 ”"+i+"“ 我是一个偶数。。。。。。。。。。。。。。。。。。当前打印第"+count+++"次");
			}else {
				logger.info("呃呃“"+i+"” 我是一个奇数。。。。。。。。。。。。。。。。。。当前打印第"+count+++"次");
			}
			
		}

	}
}
